#pragma once
//----------------------------------------------------------------------------------------------------------------
//			Filename:		Texture.h
//			  Author:		Adrian De Barro
//			    Date:		12/08/2015
//----------------------------------------------------------------------------------------------------------------
//			  Status: REFACTORING
//----------------------------------------------------------------------------------------------------------------
#include <vector>
#include <string>

#include "..\..\CoreClasses\RGBObject\RGBColor.h"

namespace Engine
{
	//----------------------------------------------------------------------------------------------------------------
	//			Class Name: Texture
	//		   Description: Represent a TRIS. Concrete implementation of GeometricObjects
	//----------------------------------------------------------------------------------------------------------------
	//			    Status: REFACTORING
	//----------------------------------------------------------------------------------------------------------------
	class Texture
	{
	public:
		//----------------------------------------------------------------------------------------------------------------
		//		 Method Name: CONSTRUCTOR
		//		Return Value: VOID
		//		  Parameters: VOID
		//			  Status: READY
		//----------------------------------------------------------------------------------------------------------------
		Texture()
		{}
		//----------------------------------------------------------------------------------------------------------------
		//		 Method Name: CONSTRUCTOR
		//		Return Value: VOID
		//		  Parameters: float, float
		//			  Status: READY
		//----------------------------------------------------------------------------------------------------------------
		virtual RGBColor GetColor(float, float) = 0;
		//----------------------------------------------------------------------------------------------------------------
		//		 Method Name: CONSTRUCTOR
		//		Return Value: VOID
		//		  Parameters: VOID
		//			  Status: READY
		//----------------------------------------------------------------------------------------------------------------
		bool ContainsTexture(void)
		{
			return m_containsTexture;
		}
		//----------------------------------------------------------------------------------------------------------------
		//		 Method Name: CONSTRUCTOR
		//		Return Value: VOID
		//		  Parameters: bool
		//			  Status: READY
		//----------------------------------------------------------------------------------------------------------------
		void SetContainsTexture(bool p_containsTexture)
		{
			m_containsTexture = p_containsTexture;
		}
		
	protected:
		bool m_containsTexture;
		bool m_containsSecondaryColor;

	};
	//----------------------------------------------------------------------------------------------------------------
}
//----------------------------------------------------------------------------------------------------------------
